Here are answers to common questions about the Figma MCP server.
General questions
What does the MCP server do, and what does my agent do?
The MCP server isn't a one-click way to turn designs into finished code. It connects Figma to your MCP client and gives your agent structured design information to work from.
The MCP server:
- Gets structured design context from the Figma layers you choose, including frames, components, layout, and variables
- Passes that context to your agent, such as Claude Code, Cursor, or GitHub Copilot
- Helps your agent reuse your real components and variables when you use features like Code Connect and variable code syntax
Your agent:
- Writes the final code, adapting the layout, reusing components, and following your prompts and codebase
- Only knows your design system conventions if you share them through Code Connect, variables, rules, or your prompts
- Produces results that depend on the quality of the context, the model, and how clear your prompt is
Why does the MCP server keep returning React code?
The MCP server works with any language or framework. Its job is to give your agent design context, not production-ready code.
When your agent uses get_design_context, the MCP server describes the design in a format that looks like React and Tailwind. AI models are trained on a lot of web code, so this format is easy for them to understand and translate into your language, framework, and patterns.
To get code that fits your project, tell your agent what you want, such as "Generate this in SwiftUI" or "Use components from src/components/ui." Learn more about writing effective prompts.
If you've connected components to more than one framework with Code Connect, you can also choose which framework your agent gets.
Note: On Professional plans, only one framework can be active at a time, so the MCP server returns code for that framework only. If you're getting web code and expected another framework, a team admin can change the active framework in Admin → Settings → Resources → Code Connect.
What are skills, and where can I find them?
Skills are Markdown files that teach your agent specific Figma workflows: the steps to take, in what order, and which conventions to follow. Start with Figma's foundational figma-use skill, then add other skills alongside it. Anyone can write and share skills, and there's no approval process.
Find skills in the Figma Community and in the Figma community-resources repo on GitHub. To write your own, see Create skills for the Figma MCP server.
Is my client supported?
Only clients listed in the Figma MCP catalog can connect to the Figma MCP server. To see which features each client supports, see the list of supported clients.
If you're a developer who wants to connect a new MCP client, join the waitlist.
What's the difference between download_assets and get_screenshot?
Use get_screenshot when your agent needs to see what a design looks like. It returns a PNG, and can include it directly in the response so your agent can look at it.
Use download_assets when your agent needs to save or deliver an asset. It returns download links, works with several layers at once, supports SVG, PDF, and JPG, and can get the original uploaded images without re-rendering them. This is useful for moving images between Figma files with upload_assets.
For a full comparison, see Tools and example prompts.
Can I bring a code project from my agent into Figma?
Yes. Ask your agent to bring your project, or part of it, into Figma as a code layer or Figma Make file. Your agent uses the send_code_to_figma tool. It helps to say “code layer” in your prompt.
You can also use the Figma Chrome extension to capture a page as code and paste it into a Figma file as a code layer.
Can I use Figma Weave from my agent?
Yes. With a paid standalone Figma Weave account, your agent can use Weave in two ways:
- Run a Weave tool: Run a published Weave workflow from your workspace, like a product mockup tool, and get the result back in your chat. For example: "Run the 'image generator' Weave tool with the prompt 'a cat.'"
- Run a model directly: Name a Weave model to generate an image or video without publishing a Weave tool first. For example: "Make a video of this product photo with Veo 3."
Weave runs use your Weave credits, not your Figma AI credits. Before a paid run, your agent shows you the cost and asks you to confirm. Learn more about the Weave tools.
How do I use a custom font with the MCP server?
The MCP server can use fonts uploaded to your Figma account. Once a font is uploaded, refer to it by name in your prompts. Fonts that are only installed on your computer aren't available.
Access and rate limits
Who can use the MCP server, and what are the rate limits?
How often you can use the MCP server depends on your plan and seat. Per-minute limits apply in addition to daily or monthly limits.
| Seat | Starter | Professional | Organization | Enterprise |
| View, Collab | Up to 20 per month | Up to 20 per month | Up to 20 per month | Up to 20 per month |
| Full, Dev | — | Up to 200 per day, 10 per minute | Up to 200 per day, 15 per minute | Up to 600 per day, 20 per minute |
Education plans have the same limits as Full and Dev seats on the Professional plan: up to 200 tool calls per day and 10 per minute.
Rate limits apply to tools that read data from Figma. Some tools are exempt, including tools that write to Figma files, such as:
add_code_connect_mapcreate_new_filegenerate_figma_designwhoami
Actions that use Figma AI credits, like generating images or sending prompts to Figma Make, don't count toward MCP rate limits.
Figma may change rate limits at any time.
What can I do if I'm rate limited?
You can get higher limits by upgrading your seat or plan:
- Starter plan (20 per month): Upgrade to a Professional, Organization, or Enterprise plan with a Full or Dev seat.
- View or Collab seat (20 per month): Upgrade to a Full or Dev seat.
- Full or Dev seat on a Professional, Education, or Organization plan (200 per day): Upgrade to an Enterprise plan for up to 600 per day.
Does the MCP server use Figma AI credits?
Most MCP server tools don't use Figma AI credits. These do:
-
generate_imageuses credits for each image, like generating an image in Figma Design. The cost depends on the image model. -
send_promptuses credits when the Figma Make agent creates or changes code.
Importing a project with send_code_to_figma doesn't use credits, but prompting and later changes do. Plan, seat, and file permissions still apply.
Figma Weave tools use your Weave credits instead of Figma AI credits.
Does the MCP server support enterprise-managed authorization?
Yes, for Claude through Okta Cross App Access (XAA). Usually, each person signs in to Figma separately to use the MCP server. With Okta XAA, members sign in once through Okta, and Claude can then use the Figma MCP server without asking them to sign in again.
Learn how to set up OIDC for Okta XAA.
Why am I getting permission errors?
You can only use the MCP server with Figma files you already have access to. If you get an error saying a file or resource can't be accessed:
- Check the link. Make sure it's a link to a Figma Design, FigJam, or Figma Make file.
-
Check which account you're using. Ask your agent to run
whoami. It shows the email you're signed in with, your plans, and your seat on each plan. - Check your access. Make sure that account belongs to the plan that owns the file.
Troubleshooting
Why aren't the MCP server tools loading?
If you use the desktop server:
- Make sure the Figma desktop app is open, with a Figma Design file open.
- Make sure the desktop server is on. In Dev Mode, go to the MCP server section of the right sidebar and click Enable desktop MCP server.
- Restart the Figma desktop app and your MCP client.
If you use the remote server:
- Make sure your MCP client is set up with
https://mcp.figma.com/mcp. If not, set up the remote server. - Sign in to Figma again from your MCP client, or reinstall the server.
- Restart your MCP client.
If remote-only tools like use_figma or generate_figma_design are missing, your client may be using the desktop server instead. Learn how to fix a conflicting server setup.
Note: An error like "We're having trouble connecting to the model provider" comes from your MCP client, not the Figma MCP server. It usually means your client can't reach its AI model or the connection timed out. Try again later.
Why is it stuck or slow?
If a request hangs, takes a long time, or returns incomplete results, the selection is usually too large. Large, deeply nested frames can overwhelm your agent, slow things down, or fail without an error.
Select a smaller section or a single component, like a card, header, or sidebar, and try again. Learn more about working with smaller selections.
An error like "lost connection to MCP server" comes from your agent. It usually means the request timed out or your agent misread the context. Try again with a smaller selection or a clearer prompt.
I asked for variables, but got code instead. What happened?
Your agent chooses which tool to use based on your prompt, and sometimes it chooses the wrong one. Say exactly what you want, for example: "Get the variable names and values for this selection." Learn more about naming specific tools.
Why am I getting a 500 error?
A 500 error usually comes from your MCP client, not the Figma MCP server. It could be a temporary problem with the request to the AI model, or a bug in the client.
- Try again with a smaller selection or a simpler prompt.
- Restart your MCP client or its plugin.
- Check your client's logs for details about what failed.
- Report the issue through your client's support channel.
If it keeps happening, contact Figma support with a screenshot or the error message.
Why have my images stopped loading?
The MCP server hosts images temporarily so you can quickly test your code. These links expire after a while, and then the images stop loading.
- Get new links: Share the link to the same design with your agent and ask it to get the code again. The new links will also expire eventually.
- Save the images: To keep images available, download them to your codebase and use the local files. You can save them yourself, or ask your agent to save them to a folder you choose.
How do I fix a token limit error in Claude Code?
You might see an error like this:
Error: MCP tool "get_design_context" response (351378 tokens) exceeds maximum allowed tokens (25000). Please use pagination, filtering, or limit parameters to reduce the response size.
This means the MCP server's response is larger than Claude Code accepts by default. To fix it, select a smaller part of the design, or raise the limit by setting the MAX_MCP_OUTPUT_TOKENS environment variable before starting Claude Code:
export MAX_MCP_OUTPUT_TOKENS=50000
Learn more in Anthropic's documentation.
Why do MCP tool calls fail in Cursor?
This is often caused by expired or corrupted sign-in tokens. To fix it:
- Open the Command Palette in Cursor: Cmd Shift P on Mac, or Ctrl Shift P on Windows and Linux.
- Select Clear All MCP Tokens.
- Follow the prompts to sign in again.
- Try again. If it still doesn't work, restart Cursor.
Why can't I find my Weave tool?
Your agent can only use Weave tools that are published and shared with you: your own tools, tools shared with your Weave workspace, and tools shared with you by email. Private tools aren't available. To use a tool, publish it in Weave first, or make sure you're signed in to the right Weave workspace.
If you already have a link to the tool, include it in your prompt so your agent can go straight to it.
Write to canvas
Note: Writing to the canvas is free during the beta period and will eventually become a usage-based paid feature.
What is use_figma?
use_figma is the MCP server tool that lets your agent write directly to your Figma files. Your agent can create and change real design content using your existing components and variables. It checks your libraries first and builds with what's already there, so the results follow your design system. Learn more about writing to the canvas.
What's the difference between the use_figma tool and the figma-use skill?
You need both:
-
use_figmais the tool your agent uses to write to Figma files. It runs Plugin API code that creates and changes real Figma content, like components, variables, frames, and auto layout. -
figma-useis the skill that teaches your agent how to useuse_figmacorrectly. Other skills build on it.
How does figma-use-figjam relate to use_figma?
figma-use-figjam is the foundational skill for FigJam. It teaches your agent how to use use_figma to read and edit FigJam boards correctly.
Why can't I find the use_figma tool?
use_figma is only available on the remote server, with a client that supports writing to the canvas. If you're not sure which server you're using, ask your agent: "Which version of the Figma MCP server am I using?"
If you're using the remote server and still don't see the tool, see Why aren't the MCP server tools loading?
Why can't I see the Figma skills?
If you can't find the figma-use skill:
- Make sure you're using a supported client.
- If your client supports plugins, install the Figma plugin. Otherwise, download the skills.
- Make sure the skills are in the right folder for your client. You can ask your agent to move them, for example: "I downloaded mcp-server-guide-main.zip. Move the agent skills in the zip to the right place."
Why aren't I getting the results I want?
Make sure the figma-use skill is installed. It gives your agent a shared understanding of how Figma works and makes a big difference to quality. You can also add skills for specific workflows, or write your own to match how your team works.
To make sure your agent uses the skill, invoke it directly in many clients, like /figma-use <your prompt>, or say "Use figma-use to <your prompt>."
This feature is in beta, so designs your agent creates may need some manual changes. For more tips, see MCP server best practices.
How is this different from code to canvas?
They're different tools for different jobs, and they work well together:
-
Code to canvas (
generate_figma_design) captures a running app as flat Figma layers. It's fast, but the layers aren't connected to your libraries. -
Write to canvas (
use_figma) builds with your existing components and variables to create real design system content.
For example, use code to canvas to bring your latest UI from code into Figma, then use use_figma to refine it with your components and variables. Learn more about code to canvas.
Do I need a Full seat to write to the canvas?
You need a Full seat to write to files outside your drafts. With a Dev seat, you can write in your drafts and have read-only access to other files, such as design context, screenshots, metadata, and variables.
Is it safe to use on production files?
Yes, but because the feature is in beta, we recommend:
- Testing on a duplicate of your library or a draft file before changing production files
- Keeping a duplicate or local copy as a backup
What are the current limitations?
- Each tool call can return up to 20 KB of output.
-
use_figmacan't add new images on its own. Your agent adds images withupload_assets, and can create new ones withgenerate_image. Importing components that contain images or videos, and creating GIFs, aren't supported yet. - Fonts must be uploaded to your Figma account. Fonts that are only installed on your computer aren't available.
- Components must be published manually before Code Connect mappings can be completed.
- Output is beta quality and may need manual review and cleanup.
Why am I seeing a gray box instead of my images?
use_figma can't add new images by itself, so your agent may create a placeholder instead. Components that contain images may also come in without them. Ask your agent to add the images with upload_assets, or to create new ones with generate_image.